
<!doctype html>
<html lang='en'>
  <head>
    <title>TestElectionLeaderDisconnectThenReconnect -- PASS</title>
  </head>
  <style>
  table {
    font-family: "Courier New";
    border-collapse: collapse;
  }

  table, th, td {
    padding: 8px;
    border: 1px solid #cccccc;
  }

  td.testcell {
    background-color: #ffffff;
  }

  td.Follower {
    background-color: #ffffff;
  }

  td.Candidate {
    background-color: #e2e2a3;
  }

  td.Leader {
    background-color: #e6fff5;
  }

  td.Dead {
    background-color: #dddddd;
  }

  h1 {
    text-align: center;
  }
  </style>
<body>
  <h1>TestElectionLeaderDisconnectThenReconnect -- PASS</h1>
  <p></p>
  <table>
    <tr>
      
      <th>Time</th>
      
      <th>TEST</th>
      
      <th>0</th>
      
      <th>1</th>
      
      <th>2</th>
      
    </tr>
    
    <tr>
      <td>17:19:02.470194</td>  <td class="testcell"></td>  <td class="Follower">listening at [::]:56539</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:02.470353</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">listening at [::]:56540</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:02.470479</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Follower">listening at [::]:56541</td>
    </tr>
    
    <tr>
      <td>17:19:02.470557</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">in election timer state = Dead, bailing out</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:02.472198</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (169ms), term=0</td>
    </tr>
    
    <tr>
      <td>17:19:02.472206</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (220ms), term=0</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:02.472226</td>  <td class="testcell"></td>  <td class="Follower">election timer started (291ms), term=0</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:02.643387</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">becomes Candidate(currentTerm=1); log=[]</td>
    </tr>
    
    <tr>
      <td>17:19:02.643525</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send RequestVoteRequest to 1: {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.643609</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send RequestVoteRequest to 0: {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.644004</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">election timer started (174ms), term=1</td>
    </tr>
    
    <tr>
      <td>17:19:02.645770</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">RequestVote: {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1} [currentTerm=0, voteFor=-1, log index/temr=(-1, -1)]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.645869</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">...term out of date in RequestVote</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.645883</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">becomes Follower with term=1, log=[]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.646301</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">...RequestVote reply: &{Term:1 VoteGranted:true}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.646368</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (180ms), term=1</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.647015</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">received RequestVoteReply from 1, {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.647076</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">wins election! Get 2 votes</td>
    </tr>
    
    <tr>
      <td>17:19:02.647115</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">become a Leader, term=1, nextIndex=map[0:0 1:0], matchIndex=map[0:-1 1:-1], entries = []</td>
    </tr>
    
    <tr>
      <td>17:19:02.647353</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.647349</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.648742</td>  <td class="testcell"></td>  <td class="Follower">RequestVote: {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1} [currentTerm=0, voteFor=-1, log index/temr=(-1, -1)]</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.648833</td>  <td class="testcell"></td>  <td class="Follower">...term out of date in RequestVote</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.648854</td>  <td class="testcell"></td>  <td class="Follower">becomes Follower with term=1, log=[]</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.649004</td>  <td class="testcell"></td>  <td class="Follower">...RequestVote reply: &{Term:1 VoteGranted:true}</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.649154</td>  <td class="testcell"></td>  <td class="Follower">election timer started (279ms), term=1</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.649135</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.649425</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply is {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.649702</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">received RequestVoteReply from 0, {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.649762</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">state changed, state=[Leader]</td>
    </tr>
    
    <tr>
      <td>17:19:02.649820</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 1 at term=1 [matchedIndex=map[0:-1 1:-1], nextIndex=map[0:0 1:0]]</td>
    </tr>
    
    <tr>
      <td>17:19:02.650099</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.650286</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.650598</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=1 [matchedIndex=map[0:-1 1:-1], nextIndex=map[0:0 1:0]]</td>
    </tr>
    
    <tr>
      <td>17:19:02.652525</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">in election timer term changed, from 0 to 1, bailing out</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.652557</td>  <td class="testcell"></td>  <td class="Follower">in election timer term changed, from 0 to 1, bailing out</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.654368</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">in election timer state = Leader, bailing out</td>
    </tr>
    
    <tr>
      <td>17:19:02.697367</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.697403</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.699837</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.699993</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.700167</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=1 [matchedIndex=map[0:-1 1:-1], nextIndex=map[0:0 1:0]]</td>
    </tr>
    
    <tr>
      <td>17:19:02.702039</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.702219</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply is {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.702407</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 1 at term=1 [matchedIndex=map[0:-1 1:-1], nextIndex=map[0:0 1:0]]</td>
    </tr>
    
    <tr>
      <td>17:19:02.747409</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.747413</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.749969</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.750148</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply is {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.750347</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 1 at term=1 [matchedIndex=map[0:-1 1:-1], nextIndex=map[0:0 1:0]]</td>
    </tr>
    
    <tr>
      <td>17:19:02.752129</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.752272</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.752417</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=1 [matchedIndex=map[0:-1 1:-1], nextIndex=map[0:0 1:0]]</td>
    </tr>
    
    <tr>
      <td>17:19:02.772907</td>  <td class="testcell">Disconnect 2</td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.797458</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.797469</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.847514</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.847539</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.897613</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.897613</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.937178</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">becomes Candidate(currentTerm=2); log=[]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.937344</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">election timer started (298ms), term=2</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.937363</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send RequestVoteRequest to 2: {Term:2 CandidateId:1 LastLogIndex:-1 LastLogTerm:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.937338</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send RequestVoteRequest to 0: {Term:2 CandidateId:1 LastLogIndex:-1 LastLogTerm:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.940569</td>  <td class="testcell"></td>  <td class="Follower">RequestVote: {Term:2 CandidateId:1 LastLogIndex:-1 LastLogTerm:-1} [currentTerm=1, voteFor=2, log index/temr=(-1, -1)]</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.940682</td>  <td class="testcell"></td>  <td class="Follower">...term out of date in RequestVote</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.940699</td>  <td class="testcell"></td>  <td class="Follower">becomes Follower with term=2, log=[]</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.940867</td>  <td class="testcell"></td>  <td class="Follower">...RequestVote reply: &{Term:2 VoteGranted:true}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.940932</td>  <td class="testcell"></td>  <td class="Follower">election timer started (226ms), term=2</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.941450</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">received RequestVoteReply from 0, {Term:2 CandidateId:1 LastLogIndex:-1 LastLogTerm:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.941490</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">wins election! Get 2 votes</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.941512</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">become a Leader, term=2, nextIndex=map[0:0 2:0], matchIndex=map[0:-1 2:-1], entries = []</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.941622</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 2: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.941623</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.944518</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.944723</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.945495</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.947788</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">in election timer state = Leader, bailing out</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.947792</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.947783</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.949495</td>  <td class="testcell"></td>  <td class="Follower">in election timer term changed, from 1 to 2, bailing out</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.992215</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.992215</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 2: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.998417</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.998841</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:02.999126</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.999342</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:02.999448</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.042306</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.042306</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 2: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.047545</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.048185</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.049641</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:03.049779</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:03.049832</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.092436</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.092418</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 2: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.098873</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.099915</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.100084</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">send AppendEntries to 1: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:03.100192</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:03.100367</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.123293</td>  <td class="testcell">Reconnect 2</td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.142503</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 2: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.142633</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.146396</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.146648</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.146920</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>17:19:03.148019</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:03.148128</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Candidate">...term is out of date</td>
    </tr>
    
    <tr>
      <td>17:19:03.148151</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Follower">becomes Follower with term=2, log=[]</td>
    </tr>
    
    <tr>
      <td>17:19:03.148357</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>17:19:03.148453</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Follower">election timer started (297ms), term=2</td>
    </tr>
    
    <tr>
      <td>17:19:03.149908</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 2 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.192644</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.192672</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 2: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.194886</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:03.195338</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>17:19:03.195777</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 2 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.201801</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.202072</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.202409</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.242886</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 0: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.242881</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">send AppendEntries to 2: next_index=0, args={Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.246031</td>  <td class="testcell"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.246405</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.246778</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 0 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.248983</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Follower">Append Log entry = {Term:2 LeaderId:1 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>17:19:03.250182</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply is {Term:2 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>17:19:03.250694</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">AppendEntries received from 2 at term=2 [matchedIndex=map[0:-1 2:-1], nextIndex=map[0:0 2:0]]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.276237</td>  <td class="testcell"></td>  <td class="Dead">becomes Dead</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.276287</td>  <td class="testcell"></td>  <td class="Dead">CommitChansSender done</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.276380</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead">becomes Dead</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.276425</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead">CommitChansSender done</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>17:19:03.276481</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead"></td>  <td class="Dead">becomes Dead</td>
    </tr>
    
    <tr>
      <td>17:19:03.276508</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead"></td>  <td class="Dead">CommitChansSender done</td>
    </tr>
    
  </table>
</body>
</html>
